package com.abel.repository;

import com.abel.domain.DesiredPosition;
import com.abel.domain.HelpfulInformation;
import com.abel.domain.OptionalInformation;
import com.abel.domain.PersonProfile;
import com.abel.domain.PersonSearchCriteria;
import com.abel.domain.PersonalInformation;
import com.abel.repository.exception.NonExistantProfileException;
import com.abel.repository.exception.RepositoryException;


public interface PersonProfileRepository extends BaseRepository {
    

	public PersonProfile getPersonProfile(PersonSearchCriteria criteria) throws RepositoryException, NonExistantProfileException;
	
	public int addPersonalInformation(PersonalInformation personalInformation) throws RepositoryException;
    
    public void updatePersonalInformation(PersonalInformation personalInformation) throws RepositoryException;
    
    public void updateOptionalInformation(OptionalInformation optionalInformation) throws RepositoryException;
    
    public void updateHelpfulInformation(HelpfulInformation helpfulInformation) throws RepositoryException;
    
    public void updateDesiredPosition(DesiredPosition desiredPosition) throws RepositoryException;
    
    
}
